using System;
using System.Collections.Generic;

namespace Voodoo.Sauce.Internal.SDKs
{
	[Serializable]
	public class SDKList
	{
		public string vsVersion;

		public string lastUpdateDate;

		public List<MediationSDK> ads;

		public List<SDK> analytics;

		public List<SDK> crashlytics;

		public List<SDK> audioAds;

		public List<SDK> consentManagementProvider;

		public override bool Equals(object obj)
		{
			if (obj == null || GetType() != obj.GetType())
			{
				return false;
			}
			SDKList sDKList = (SDKList)obj;
			if (vsVersion != sDKList.vsVersion || (ads == null && sDKList.ads != null) || (ads != null && sDKList.ads == null) || (analytics == null && sDKList.analytics != null) || (analytics != null && sDKList.analytics == null) || (crashlytics == null && sDKList.crashlytics != null) || (crashlytics != null && sDKList.crashlytics == null) || (audioAds == null && sDKList.audioAds != null) || (audioAds != null && sDKList.audioAds == null) || (consentManagementProvider == null && sDKList.consentManagementProvider != null) || (consentManagementProvider != null && sDKList.consentManagementProvider == null) || ads.Count != sDKList.ads.Count || analytics.Count != sDKList.analytics.Count || crashlytics.Count != sDKList.crashlytics.Count || audioAds.Count != sDKList.audioAds.Count || consentManagementProvider.Count != sDKList.consentManagementProvider.Count)
			{
				return false;
			}
			for (int i = 0; i < ads.Count; i++)
			{
				if (!ads[i].Equals(sDKList.ads[i]))
				{
					return false;
				}
			}
			for (int i = 0; i < analytics.Count; i++)
			{
				if (!analytics[i].Equals(sDKList.analytics[i]))
				{
					return false;
				}
			}
			for (int i = 0; i < crashlytics.Count; i++)
			{
				if (!crashlytics[i].Equals(sDKList.crashlytics[i]))
				{
					return false;
				}
			}
			for (int i = 0; i < audioAds.Count; i++)
			{
				if (!audioAds[i].Equals(sDKList.audioAds[i]))
				{
					return false;
				}
			}
			for (int i = 0; i < consentManagementProvider.Count; i++)
			{
				if (!consentManagementProvider[i].Equals(sDKList.consentManagementProvider[i]))
				{
					return false;
				}
			}
			return true;
		}

		public override int GetHashCode()
		{
			return (((((((((((((vsVersion != null) ? vsVersion.GetHashCode() : 0) * 397) ^ ((lastUpdateDate != null) ? lastUpdateDate.GetHashCode() : 0)) * 397) ^ ((ads != null) ? ads.GetHashCode() : 0)) * 397) ^ ((analytics != null) ? analytics.GetHashCode() : 0)) * 397) ^ ((crashlytics != null) ? crashlytics.GetHashCode() : 0)) * 397) ^ ((audioAds != null) ? audioAds.GetHashCode() : 0)) * 397) ^ ((consentManagementProvider != null) ? consentManagementProvider.GetHashCode() : 0);
		}
	}
}
